IICS(CAI)でJDBC接続を設定する
はじめに
データアナリティクス事業本部のkobayashiです。
Informatica Intelligent Cloud Services(以降、IICS)はオンプレミスおよびクラウド環境に置かれているデータサービスとアプリケーションサービスを統合するiPaaS(integration Platform as a Service)製品です。
IICSの機能の一つであるInformatica Cloud Application Integration(以降、CAI)ではAPIをGUIの操作で簡単に構築することができます。
前回まででインフォマティカで用意されているチュートリアルを行いCAIからAPIを作成しました。
これらのチュートリアルでは事前に準備されているアプリケーション接続やサービスコネクタを使用していましたが実際にAPIを作成しようとすると独自のものを用意する必要があります。そこで今回からそのコネクションの作成方法と簡単な使い方をまとめていきたいと思います。
今回はまずはじめにJDBCコネクションの設定を行います。
- JDBCコネクション(今回)
- AWS SNSコネクション(第2回)
- AWS SQSコネクション(第3回)
JDBCコネクション
JDBCのアプリケーション接続を作成するとCAIのサービス
と作成
でJDBC接続を使ってデータベースからデータを取得・保存・更新・削除といったことが行なえます。
JDBC接続に対応しているのはType4 JDBCドライバになります。具体的には以下のデータベースになります。
- IBM DB2
- Microsoft SQL Server
- MySQL
- Oracle
- PostgreSQL
今回はRDS上のMySQLへの接続設定を行います。 またアプリケーション接続を行う条件としてJDBCドライバをインストールしたSecure Agentが必須になります。
JDBCドライバのインストール
初めにJDBCドライバをSecure Agentにインストールします。
手順1)MySQLのダウンロードサイト よりJDBCドライバをダウンロードする。
手順2)ダウンロードファイルを解答するとmysql-connector-java-8.0.xx.jar
ファイルが取得できるのでこれをSecure Agentの<Secure Agent installation directory>/apps/process-engine/ext
配下にこのファイルを配置する。
JDBCコネクションの設定
手順1) サイドメニューから新規
を選択するとモーダルが表示されるのでその中からアプリケーション接続
を選択し、作成
を押下する。
手順2) 接続の詳細の設定を行う。
- 名前 : 適当な名前の入力
- タイプ :
JDBC Generic Cloud Adapter
を選択 - 実行 : ドライバをインストールしたSecure Agentを選択
- OData対応 :
はい
を選択 - ODataクラウドアクセス有効 :
はい
を選択 - ODataで許可されたユーザー/グループ : IICSへアクセスユーザーのうちAdmin, Designer, and Service Consumerロールを持つユーザーを入力
- データベースからデータを取得する場合はOData対応が必要になります。
手順3)接続のプロパティの設定を行う。
- JDBC Connection URL :
jdbc:mysql://{ホスト名}:3306/{データベース名}?allowPublicKeyRetrieval=true&useSSL=false
- JDBC Driver Class Name :
com.mysql.jdbc.Driver
- Username : データベースのユーザー名
- Password : 上記ユーザーのパスワード
*他は基本的にデフォルト設定で問題ないです。
手順4)右上のテスト
を押下して合格しました
が表示されることを確認する。
手順5)右上のメニューからパブリッシュ
を押下してアプリケーション接続をパブリッシュする。
パブリッシュすると右上のメニューからプロパティの詳細
で作成したアプリケーション接続のOData Swagger URL
が表示されますが、後に使うのでこれを控えておきます。
またメタデータタブからオブジェクトとしてテーブル情報が閲覧できるので内容に相違がないか確認しておきます。
これでJDBCドライバのアプリケーション接続は終わりです。次にこのステップをプロセス内でどう使うかを解説します。
データベースとのデータのやり取り
作成ステップでのレコード追加
JDBCのアプリケーション接続を作成するとプロセス内の作成
ステップを使うことでテーブルにレコードを追加することができます。
この用途としてはCAI中で作成した各フィールド(入力、出力、一時)、コンテンツ、計算式(ユーザーIDやプロセスID等)データをログ収集用途としてデータベースへ保存する場合に使用します。
では実際にリクエストに応じてデータベースを読み書きするにはどうするかというとOData接続を使います。
サービスコネクタの作成とODataのアプリケーション接続を作成
流れとしてはアプリケーション接続時にOData対応を行い、それをもとにサービスコネクタを作成しサービスコネクタに対してアプリケーション接続を作成します。そこで作成したアプリケーション接続をプロセス内のサービス
ステップで呼び出すことでデータベースとのやり取りが行えます。
手順1)サイドメニューから新規
を選択するとモーダルが表示されるのでその中からサービスコネクタ
>Swaggerからの作成
を選択し、作成
を押下する。
手順2) サービスコネクタの設定値を入力し次へ
を押下する。
- Swagger URL : JDBCドライバのアプリケーション接続の
プロパティの詳細
で取得したOData Swagger URL
を入力 - 認証の使用 : チェックする
- ユーザー名: DBCドライバのアプリケーション接続の
ODataで許可されたユーザー
で指定したユーザー名を入力 - パスワード: 上記ユーザーのパスワードを入力
- ユーザー名: DBCドライバのアプリケーション接続の
サービスコネクタが作成されますので細かい調整を行います。
手順3)接続のプロパティを設定する。
名前 | テストに使用する値 | 必須 |
---|---|---|
username | 手順2のユーザー名 | チェック |
password | 手順2のパスワード | チェック |
手順3)アクションはサービスコネクタが作成されたときに自動で作成されるので必要なもののみを残して削除する。
手順4)プロセスオブジェクトもサクション同様に必要なもののみを残して削除する。
これでサービスコネクタの設定は終わりなので保存してパブリッシュします。次にサービスコネクタからアプリケーション接続を作成します。
サイドメニューから新規
を選択するとモーダルが表示されるのでその中からアプリケーション接続
を選択し、作成
を押下します。
手順5) アプリケーション接続の設定値を入力し保存
を押下して設定を保存します。アプリケーション接続を作成したあとにこちらもパブリッシュを行う。
- タイプ : 手順4で作成したサービスコネクタを選択
- 実行 : ドライバをインストールしたSecure Agentを選択
- username: 手順2のユーザー名を入力
- password: 手順2のパスワードを入力
これでアプリケーション接続の設定は終わりなのでこちらも保存
を押下して設定を保存します。アプリケーション接続を作成したあとにこちらもパブリッシュを行います。
以上でプロセス内でデータベースとデータをやり取りする準備が整いました。
あとはプロセスの中でサービス
プロセスをパスに配置し、アクションを呼び出すだけです。
今回はMySQLのJDBCドライバのアプリケーション接続を行いましたが他のデータベースに関してもJDBC Connector Guide(公式ドキュメント) に記載がありますのでPostgreSQLなどを使いたい場合はこちらを参考に設定を行ってみてください。ただし、所々誤植があるのでエラーが出る場合はナレッジで検索すると良いです。
まとめ
MySQLのJDBCドライバを使ったアプリケーション接続を作成しました。他のJDBCドライバでもドライバクラスなどの指定が違うだけで他は同じ様に使うことができます。
次回はアプリケーション接続のAWS SNS編を試してみたいと思います。
最後まで読んで頂いてありがとうございました。